Sword of the Stars Analyser
Version: 0.5 (beta)
Date: 02/04/2008
By: XELA NAMYT

Contents:

1. 	Introduction			(#1.--)
1.1.	Requirements			(#1.1.)
1.2. 		What's New		(#1.2.)
2. 	Getting Starting		(#2.--)
3. 	Using the Program		(#3.--)
3.1. 		Tech Tree Analysis	(#3.1.)
3.2. 		Weapon Analysis		(#3.2.)
3.3. 		Ship Section Analysis	(#3.3.)
3.4. 		Game Analysis		(#3.4.)
4. 	Outputting a Useable Mod	(#4.--)
5. 	Functionality to Come		(#5.--)
6. 	Versions			(#6.--)
7.	Contact	Information		(#7.--)
8. 	Legal Guff			(#8.--)


--------------------------------------------------------------------------------
1. 	Introduction							(#1.--)
--------------------------------------------------------------------------------

Hi!

Well, thank you for trying out the Sword of the Stars Analyser (SotSA)! This is a little program that I originally made for myself to extract all of the tech tree and weapon information from Sword of the Stars (SotS), so that I could see the chances of getting specific techs, find out the damage of certain weapons etc. etc.

Anyway, it evolved to more than just an analyser, it's now an editor (in-progress!). I have a load of ideas to try and implement in the coming weeks/months that are detailed in section 5 (#5.--), I would also appreciate any and all improvements, bug finds, enchancements and constructive critism that anyone might want to give.

--------------------------------------------------------------------------------
1.1. 	Requirements							(#1.1.)
--------------------------------------------------------------------------------

Sword of the Stars
Born of Blood expansion (version 1.4.1 preferred. it might work with earlier versions, but it hasn't been tested!)
.NET Framework 2.0 or above (you should have this already)
DirectX 9.0c or above (you will have this already) (also not used yet)

NOTE: If you have a computer that close to the minimum specs of SotS, then some of the operations in the program might take a little while to process, but should still work.

--------------------------------------------------------------------------------
1.2. 	What's New							(#1.2.)
--------------------------------------------------------------------------------

Version (0.5) (first public release)

- Frame of the program.
- Reading in of individual files.
- Reading in of SotS files.
- Analysing and editing of master tech tree file.
- Implementation of tech tree options.
- Analysing of weapon files.
- Output of edited master tech file.
- Creation of a useable mod with output.

--------------------------------------------------------------------------------
2. 	Getting Starting						(#2.--)
--------------------------------------------------------------------------------

First of all extract all the files in the zip file to a folder somewhere on you local hard drive. There should be this readme file, the SotS Analyser.exe file and the ICSharpCode.SharpZipLib.dll file. A SotSA.ini file will also be generated at by the program after it has been run.

Secondly, back up your sots.ini file from your installion folder. I make changes to it and you can always replace it with your backup if you require. When you choose to remove the mods, see section 3 (#3.--), SotSA will recreate the original sots.ini, but accidents can happen! Better safe than sorry!

Thirdly, run the SotSA executable (Sots Analyser.exe). This should show you the main SotSA screen. Most options and buttons will be disabled at this point as the program doesn't know the locations of the required SotS files.

Now you need to locate the SotS installation path by clicking on the 'Find SotS Folder' button, which should be red in colour. This should bring up a folder browser which you can use to locate the SotS installation folder. If you choose the incorrect folder you will get an error stating this fact and you will have to try again. Once successful the button will turn green.

From this point onwards, SotSA will not need to be set up again unless you delete it, change the SotS install path or you change the location of the SotSA files.

--------------------------------------------------------------------------------
3. 	Using the Program						(#3.--)
--------------------------------------------------------------------------------

Looking at the main screen you can see three main areas. The first is the 'General Options', the second is the 'User Options' and finally there are a set of grids in different tabs at the bottom of the screen.

The 'General Options' has ten buttons as follows:
 > 'Find SotS Folder'
   > This is used in setting up SotSA or changing the SotS install path if you want. You will hardly ever use this function.

 > 'Output'
   > This is used to output any modified files. It will become available when any modifiable file has been loaded. Please see section 4 (#4.--) for more information.

 > 'Load SotS Files'
   > This will attempt to load all fo the required files from the SotS game files. This is what you will probably use the most when starting up SotSA.

 > 'Clear All Data'
   > This will clear all the currently loaded data in SotSA.

 > 'Remove All SotSA Mods'
   > This will delete all SotSA mods in the SotS installation directory and recreate the sots.ini file. Becareful with this, you could loose all you mods!

 > 'About'
   > Details about the SotSA program.

 > '* Options' 
   > These four buttons will bring up the options for the corresponding area. They will become available when the correct files have been loaded.

The 'User Options' has a selection of buttons to load already extracted files:
You can use one of the elipsis (...) buttons to locate a file or folder for a particular type of file to load. You can also just write in the text box if you know the path, but it's easier to use the button! When the red cross icon turns to a green tick icon you can click the corresponding load button and the data will be loaded into the SotSA program.
(The strings file is a file that contains all of the names and descriptions of techs, ships etc. that you will see in the actual game. This is primarily used in SotSA to help you identify techs, weapons etc.)

Finally, the tabs at the bottom of the screen hold the loaded data in a set of grids. These will be blank until you use the 'Load SotS Files' button in the 'General Options' or load individual files via the 'User Options'.

--------------------------------------------------------------------------------
3.1. 	Tech Tree Analysis						(#3.1.)
--------------------------------------------------------------------------------

When you have loaded the SotS files or a master tech list, the 'Tech Tree Analysis' grid will be populated. At this point you can do two things to start editing. Either Use the 'Tech Tree Options' button in the 'General Options' or double click on a tech in the grid.

---- Tech Tree Options ---------------------------------------------------------

First we will look at what can be done with the 'Tech Tree Options' button:
When you click the button you will be presented with a set of check boxes, detailing options, and a bunch of other controls which are currently unusable. You can choose upto one option in each of the 'Percentage Options' and 'Research Options', any number of options from the 'Other Options' and with the 'Extreme Options' you can choose upto one from the upper area and one from the lower area, however these will overwrite any selected percentage or research options respectivly.

Sound complicated? Don't worry I will explain all of the options below:

Percentage Options:

 > Unlock All Techs
   > This will do exactly what it says! It will unlock all techs for all races so they have a 100% chance of getting the techs, apart from ones that the game already says they can't have. E.G. A Hiver player can research Rip Drive tech.

 > Double All Percentages
   > Again this will do exactly what it says. It will double all of the current chances of a race to get a particular tech. E.G. Tarkas have a 20% chance of getting Photon Torpedos, now they will have a 40% chance.

 > Alter All Percentages
   > This option will enable the control so you can increase or decrease all percentage chances for all races on all techs. E.G. say you set it to -30, now all chances will have been reduced by 30% (70% will now be 40%).

 > Alter Racial Percentages
   > This is very similar to the 'Alter All Percentages' option, however this will alter the percentage for the currently selected race from the combo box.

 > Set All Percentages
   > This is similar to the 'Alter All Percentages' option, however it will set all of the percentage chances to the value you choose. E.G. choosing 60% will make all tech for all races have a 60% chance.

 > Set Racial Percentages
   > This is very similar to the 'Set All Percentages' option, however this will set the percentage for the currently selected race from the combo box.

Research Options:

 > Enable One Turn Tech
   > This simply reduces the tech costs of everything so that if the tech is available for a player to research, then it will take only one turn. (It might take longer than one turn if research funding is very very low.)

 > Alter All Research Costs
   > This option allows you to increase or decrease the cost (and therefore research time) of all the techs. E.G. If you set it to 50% then all tech costs will be halved. If you set it to be 400% then all tech costs will be quadrupled.

 > Alter Core Research Costs
   > This is identical to the above option, apart from it will only effect the core techs, which I have defined as Energy, Hull and Drive techs. (E.G. Fusion, Gate Amplifiers and Cruisers.)

Other Options:

 > Remove All Explict Locks
   > This is a small option that won't effect games that much. It will just remove locks of certain techs, namely the language techs, so you can research them from the beginning without encountering a particular race.

Extreme Options:
NOTE: These options are extreme as the name suggests! Games could become very easy, impossible, short or never-ending! They will make each game very VERY different!
NOTE: When choosing one of these options you will be able to change the skew of the effects with the tracker control. Less means that the option will be lower (E.G. less percentage means that percentages will be lower) and more means that the option will be higher (E.G. more research cost will result in higher costing techs).

 > Randomise Percentages - Non Core Techs
   > This will randomise the chances of all non core techs (all but, Energy, Hull, Drive and Root techs). E.G. A Zuul player may get a high chance with Projector weapons, which usually they have a high chance. Or, a Hiver might loose out on Mass Driver tech and therefore won't have any other Ballistic techs!

 > Randomise Percentages - All Techs
   > This is the same as the above option, however it will do the same for all techs. So you might end up with getting some nice Cutting Beams and Meson Beams, however you might loose out on Fusion! Now that would be a hard game!

 > Extreme Randomise
   > This is not implemented yet! However when it is all percentages will be randomised like the above tech, however the links between techs will also be randomised! E.G. Currently you can research Green and UV Lasers from Red Lasers, however after this option is applied you might be able to research Torpedo Sats, Cloaking or Nothing! The tech tree will be messed up in the game, so ignore the link lines and just look out for the tech 'boxes'.

 > Research Cost Randomisation
   > This will simply randomise the cost of researching all techs between the minimum and maximum costs specified. E.G. Waldo Units might cost 60000 RP, where is used to cost 4000. Anitmatter might cost only 1000 RP, a very cheap research when you get it!

Ok then, you have selected which options you want to apply, click the 'Accept' button. You will see a summary of the options you ahve chosen and you can cancel them or apply them. When you apply them, the 'Tech Tree Analysis' grid will be updated automatically.

---- Tech Tree Details ---------------------------------------------------------

NOTE: If you want to apply any of the options mentioned in the above section, then do that before you edit individual techs. This is because the options above will overwrite any specific changes you have made.

Next we are going to look at editing individual techs. Choose a tech in the 'Tech Tree Analysis' grid and double click on it, the details for that tech should be shown on screen now. (For this example I am going to use the tech DRV_Fusn a.k.a. Fusion).

The screen will display the name and description (if string file was loaded) of the tech you chose, along with five main buttons: 'Requires Data', 'Ship Sections', 'Strategy Data', 'Allows Data' and 'Parent Techs'.

Firstly, you can click the 'Parent Techs' button to see which techs allows this tech to be researched. In this case there is only one parent tech, Fission, at a cost of 65000 RP and each of the races have a 100% chance of getting the ability to research it.

Now, the four other buttons will show you the corresponding data that exists for the tech in the grid at the bottom. By default it shows the 'Requires Data', and in this case there is none! Now I will explain the functions of all four of these buttons:

NOTE: To add any of the data that these four sets can contain, you need to click the corresponding button, choose the details and the press the add button. The grid below should automatically update. If you want to delete one of the data entires, select the row in the grid and press delete.

NOTE: Some of the following may not work correctly as they haven't been tested very much! Any help would be appreciated!

 > Requires Data
   > Here you can view, delete or add a tech that the loaded tech requires to have researched before itself can be research. So in this example, we know that Fusion requires Fission to be researched, but we could add in 'IND_CruisCon' which is the tech to allow Cruiser construction. Therefore in this case, you can only research Fusion if you have got the link from Fission and Cruiser Construction has also been researched.

 > Ship Sections
   > This is simple, it's just a list of which ship sections will become available to design with and build once this tech has been researched. In this case all three fusion engine sections will become available.

 > Strategy Data
   > These data entries are special modifications that are applied to various items in your game. In this case you can see that both Stratigic Range and Tactical Speed have been increased.

NOTE: Currently you can enter data that might not work. For example, I don't know if adding TECHBEN_BALDAM (Ballistic Damage) with 'dec' (Decrease) will do anything, crash the game or screw something else up!

 > Allows Data
   > This is probably the most important section in the tech details. It allows you to specify which techs have a chance to become available once the current tech is researched. In this case, as you probably know, Fusion tech opens up many new techs. DRV_AntiMat (Antimatter) is probably the most important, and correspondingly has a high research cost and all races have a 100% chance to research it (show by blanks under each race name). SLD_Clk (Cloaking) is another allowed tech, but this time you can see that the race has a value, this is the percentage chance that a player with that race has to research the tech, cloaking in this case.

--------------------------------------------------------------------------------
3.2. 	Weapon Analysis							(#3.2.)
--------------------------------------------------------------------------------

When you have loaded the SotS files or a folder with weapon files in it, the 'Weapon Analysis' grid will be populated. At this point you can do two things to start editing. Either Use the 'Weapon Options' button in the 'General Options' or double click on a weapon in the grid.

NOTE: Currently neither of these work as I have yet to finish them. The only use for this at the minute is to view data on each weapon.

---- Weapon Options ------------------------------------------------------------

Not done yet!

---- Weapon Details ------------------------------------------------------------

Not done yet!

--------------------------------------------------------------------------------
3.3. 	Ship Section Analysis						(#3.3.)
--------------------------------------------------------------------------------

Not done yet!

---- Ship Section Options ------------------------------------------------------

Not done yet!

---- Ship Section Details ------------------------------------------------------

Not done yet!

--------------------------------------------------------------------------------
3.4. 	Game Analysis							(#3.4.)
--------------------------------------------------------------------------------

Not done yet!

---- Game Options --------------------------------------------------------------

Not done yet!

---- Game Details --------------------------------------------------------------

Not done yet!

--------------------------------------------------------------------------------
4. 	Outputting a Useable Mod					(#4.--)
--------------------------------------------------------------------------------

Now you have completed your editing of whichever files you wanted to, so now you probably want to play a game with them! So click the 'Output' button in the 'General Options' section.

You will be presented with a total of five sections of output options which I will detail below:

 > Mod Output Options
   > This is probably the output option you will use more often than not. It will output all files that you have modified into the folder that you specify the name of (just a name, don't put '\' or illegal filename characters in it), if you don't specify a name, then it will just use the default date time folder name that is shown. 
You can also choose where the sots.ini file will be produced. This is the file that allows the mod to be used by the game. The default setting is to 'Add to Mod Folder' which will create it in the same folder as detailed above, this will mean you will have to copy and paste the file over the sots.ini in the SotS installation location, it's just an extra level that ensures the user doesn't apply a mod that they might not want to. The other option is 'Overwrite Original' which does exactly that! It will update you current sots.ini file with the changes required to make the mod playable straight away!
All you have to do now is press the 'Output' button, close down SotSA and fire up Sword of the Stars: Born of Blood!

 > Tech Tree Output Options
   > Here you can output only the master tech list file. By just pressing output the file will be produced in a folder in the same location at the SotSA executable file. The folder will have a name that includes the date and time. However if you want to save the file to a specific place you can tick the 'Specify Output' and either type in the path or choose one with the elipsis (...) button.

 > Weapon Output Options
   > TODO!!!

 > Ship Section Output Options
   > TODO!!!

 > Game Output Options
   > TODO!!!

--------------------------------------------------------------------------------
5. 	Functionality to Come						(#5.--)
--------------------------------------------------------------------------------

- A proper readme file with pictures!
- An installer program.
- Interaction with the registry to speed up setup and SotS file useage.
- The ability to load a set of mod files that has already been output by SotSA.
- Get strategy data input working without any chance of errors.
- Get all possible options in Requires, Ship Sections, Strategy and Allows combo boxes.

--------------------------------------------------------------------------------
6. 	Versions							(#6.--)
--------------------------------------------------------------------------------

- v0.5 (02/04/2008)
 - (first public release)
  - Frame of the program.
  - Reading in of individual files.
  - Reading in of SotS files.
  - Analysing and editing of master tech tree file.
  - Implementation of tech tree options.
  - Analysing of weapon files.
  - Output of edited master tech file.
  - Creation of a useable mod with output.

--------------------------------------------------------------------------------
7. 	Contact Information						(#7.--)
--------------------------------------------------------------------------------

You can find me on the Kerberos Production Forum:
http://www.kerberos-productions.com/forum/viewforum.php?f=1

or you can email me at ---- (--dot--) ----- (--at--) ---------- (--dot--) ---
please put 'SotSA' int he subject heading.

NOTE: Removed until spam filtering is enabled correctly!

--------------------------------------------------------------------------------
8. 	Legal Guff							(#8.--)
--------------------------------------------------------------------------------

This Program and Document is Copyright 2008 by Alex Tyman
Sword of the Stars is Copyright 2006 by Kerberos Productions
Born of Blood is Copyright 2007 by Kerberos Productions

I am not affiliated with Kerberos Productions or anyone who had anything to do with the creation of this game.  This Program may NOT be posted on any site unless you ask for written permission and only then if NOTHING IS CHANGED. You may not charge for, or in any way profit from this Program.